package com.wanghua.mall.cart.vo;

import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author wanghua
 * @create 2021-09-06 16:44
 * 整个购物车
 */
@Data
public class CartVo {
    private List<CartItemVo> items;
    private Integer countNum;//所有商品总数
    private Integer countType;//所有商品类型数量
    private BigDecimal totalPrice;//所有商品总价
    private BigDecimal reducePrice = new BigDecimal(0);//减免价格

    public Integer getCountNum() {
        int res = 0;
        if (items != null && items.size() > 0) {
            res = items.stream().mapToInt(CartItemVo::getCount).sum();
        }
        return res;
    }

    public BigDecimal getTotalPrice() {
        BigDecimal res = new BigDecimal(0);
        if (items != null && items.size() > 0) {
            for (CartItemVo item : items) {
                if (item.getCheck()) {
                    res = res.add(item.getTotalPrice());
                }
            }
        }
        return res.subtract(getReducePrice());
    }

}
